This invention relates to communication networks. In particular this invention relates to methods and devices that monitor data network responsiveness and act to limit adverse effects of a data or communication network overload.
In data communication networks like the internet, there are time delays between the issuance of a command or data packet from one computer and the receipt of a response to the command or responsive data packet from another computer in the network. Logging onto a web site for instance typically causes the data files that comprise images of the web site to be sent from one computer to another.
Inter-computer communications in a data network comprise commands and data packets, among other things, issued by one computer addressed to one or more other computers. When a command, or data packet response is received by a computer to which it is addressed, the addressed computer typically issues a response to the computer issuing the command in some way. In the case of one computer xe2x80x9clogging onxe2x80x9d to a web site computer for example, what actually happens is that a host computer that stores files comprising the web site, sends a file or files to a client computer. When the client receives the file or files from the host, the client displays the web site content. To access (or log onto) a web site it can be said that the client issues a command to the host, which responds by sending data files to the client.
In all data communications networks there is a measurable time between issuance of any command by a computer and the receipt of a response to the command from another computer.
The delay between a command and a response is a function of several factors including network traffic load, traversed network node capacity, data transmission rates, communication link design, electrical and physical distance between computers and the number of data network users. In general, delay time is inversely proportional to the amount of data that the network is tasked to handle. Stated alternatively, as the number of data network users increases, and as the amount of data through a network increases, the more time it will take the network to process all of the data exchanges.
In many instances, delays between issuance of a command or data packet and receipt of a response thereto can become so great that a computer waiting for a response will adversely affect other processes dependent upon the computer that is waiting for a response. Many computers will use timers to set an upper limit on the amount of time that a computer will wait for a response to a command. Using a timer prevents a computer from effectively locking up and impeding other processing tasks. If a response to a command is not received when the time-out timer expires, the computer can ignore the process that was waiting for a response, which might never come.
Using a time-out timer in a data communications network has some limitations however. Many times a data network becomes so overloaded with traffic that virtually all communication transactions thereon require long times to complete. Fixed-value timers do not take operational software differences or transmission network difference into account and can expire before any communications transactions are completed. A method and apparatus for use of a computer in a data network that reduces time-out communications failures, which in turn cause communications delays on a varying basis would be an improvement over the prior art.
In a data communications network, including packet networks using packet data communications protocols, packet delay timers are used in network computers to prevent a computer from waiting for unnecessarily long times for a response. The invention disclosed herein dynamically re-sets so-called watch-dog or time-out timers which helps insure that a computer not become locked up waiting indefinitely for a response but prevents a computer from pre-maturely aborting communications sessions that require more time.
The improved method measures the time required to receive a response to a command over a data communications network to obtain a first round trip delay time. This actual round-trip delay time for a response to come back from a command, a data packet or a message fragment is compared periodically to some baseline expected round trip delay time value to yield a round trip delay time difference. If the measured round-trip delay time differs from the expected baseline value by a pre-defined amount, the baseline expected value is adjusted, up or down by some predetermined incremental amount to yield a new baseline value. The newly calculated baseline round-trip delay time is thereafter used to determine the time that the computer will wait for responses.
Dynamically adjusting time-out timers in a communication network helps insure that the maximum communication session wait time reflects actual network conditions. As the actual round-trip delay times change, they are used to adjust the baseline value by an incremental amount. The newly calculated round-trip delay time is used to limit the maximum length of time that a computer will wait for responses to commands or packets it issues. Re-calculating timer values based upon actual delay time experience reflecting actual network responsiveness avoids rigid application of a fixed timer value which might abort communications if network responsiveness falls for any reason. Network sluggishness, increased network path length, increased network traffic load or other network-originated delays can unexpectedly increase response delays. During heavy traffic periods, network delays might become so lengthy that virtually every communication session might be aborted using fixed time-out values.
The recalculated timer values can automatically be implemented in a switching system software such as the Lucent Technologies No. 5 ESS(trademark).